package cn.lx;

import java.util.List;

/**
 * @author lixin
 */
public interface SpringPluginFactory {

    /**
     * 装载指定插件
     *
     * @param pluginId
     */
    void activePlugin(String pluginId);

    /**
     * 移除指定插件
     *
     * @param pluginId
     */
    void disablePlugin(String pluginId);

    /**
     * 安装插件
     *
     * @param plugin
     */
    void installPlugin(PluginConfig plugin, Boolean load);

    /**
     * 卸载插件
     *
     * @param plugin
     */
    void uninstallPlugin(PluginConfig plugin);

    /**
     * 获取插件列表
     */
    List<PluginConfig> getPluginList();

}
